#!/bin/bash

# 脚本放在 Spring Boot 项目根目录执行
# 输出文件
OUTPUT_FILE="gpt_project_summary.txt"

echo "=== GPT 项目摘要 ===" > $OUTPUT_FILE
echo "项目目录结构 (两层目录)：" >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE

# 生成目录结构，保留两层
if command -v tree >/dev/null 2>&1; then
    tree -L 2 >> $OUTPUT_FILE
else
    echo "[tree 命令不可用，使用 ls 替代]" >> $OUTPUT_FILE
    ls -R | head -n 50 >> $OUTPUT_FILE
fi

echo "" >> $OUTPUT_FILE
echo "=== Java 文件摘要 ===" >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE

# 查找关键目录下的 Java 文件
for file in $(find ./src -type f -name "*.java"); do
    # 只提取文件名、类名、方法名（简单正则匹配）
    echo "File: $file" >> $OUTPUT_FILE
    grep -E "class |interface |enum " "$file" | sed 's/^[ \t]*//' | while read -r class_line; do
        echo "  $class_line" >> $OUTPUT_FILE
    done
    grep -E "public |private |protected " "$file" | grep "(" | sed 's/^[ \t]*//' | while read -r method_line; do
        echo "    $method_line" >> $OUTPUT_FILE
    done
    echo "" >> $OUTPUT_FILE
done

echo "生成完成，摘要文件：$OUTPUT_FILE"
